1. Field of the Invention
The present invention relates to a broadcast receiving apparatus, and more particularly to a broadcast receiving apparatus which performs a tuning process in accordance with a tuning request issued by a software application or the like.
2. Description of the Background Art
FIG. 12 is a diagram illustrating a timing scheme with which tuning requests are received and tuning processes are performed in a conventional broadcast receiving apparatus. In FIG. 12, a xe2x80x9ctuning requesting endxe2x80x9d, which is an input means such as a remote control operated by a user, issues tuning requests. When tuning requests 1 to 3 are consecutively made as shown in FIG. 12, the broadcast receiving apparatus sequentially performs tuning processes corresponding to the respective tuning requests. Furthermore, if further tuning requests (Request 4 and Request 5 shown in FIG. 12) are made during a tuning process, the broadcast receiving apparatus performs tuning processes corresponding to the further tuning requests after the tuning processes for the tuning requests which have already been received are all completed. Thus, in this conventional broadcast receiving apparatus, all issued tuning requests are stored, and tuning processes are performed for all such tuning requests. Therefore, it can take a long time before all of the tuning processes are completed in the case where a large number of tuning requests are consecutively issued.
In view of the above problem, some conventional broadcast receiving apparatuses are arranged so as to realize more efficient tuning processes corresponding to consecutive tuning requests. One such instance employs a special remote control to better handle consecutive tuning requests being issued by a user. This remote control observes a certain waiting period after the user operates the remote control to issue a tuning request. If no further tuning requests are issued during this period, the remote control transmits the tuning request to the broadcast receiving apparatus. As a result, the number of tuning requests which are transmitted to the broadcast receiving apparatus can be decreased in the case where the user uses this remote control to issue consecutive tuning requests. Thus, the amount of time required for the tuning process when a user issues consecutive tuning requests can be reduced.
Another instance of handling consecutive tuning requests is a method where any tuning requests that are issued during a tuning process are not received, or ignored. This method will be described with respect to the exemplary case illustrated in FIG. 12. No tuning processes are performed for Tuning Requests 2 and 3, which are issued during Tuning Process 1. A tuning process is performed for Tuning Request 4, which is issued after Tuning Process 1 is completed. No tuning process is performed for Tuning Request 5, which is issued during the processing of Tuning Process 4. This method also reduces the amount of time required for the tuning processes when a user consecutively issues tuning requests.
In recent years, environments for allowing software applications (hereinafter simply referred to as xe2x80x9capplicationsxe2x80x9d) to operate on broadcast receiving apparatuses are coming into existence. As used herein, an xe2x80x9capplicationxe2x80x9d is defined as a program which is executed to attain various purposes on a broadcast receiving apparatus. An application may issue a tuning request for its own purpose. An example of such an environment is a broadcast receiving apparatus which conforms to the DVB-MHP (Digital Video Broadcasting Multimedia Home Platform) standard. An application which can be run on a broadcast receiving apparatus conforming to the DVB-MHP standard can issue a tuning request by calling a tuning API (Application Program Interface) which is provided on the broadcast receiving apparatus. Under the DVB-MHP standard, calling of a tuning API is an asynchronous process, defined so as to xe2x80x9creturn to execution of the application once the issuance of a tuning request is completedxe2x80x9d. This implies that, after an application has called the tuning API to issue a tuning request, it is capable of performing a next operation without waiting for a tuning process to be completed. In other words, an application which runs on a broadcast receiving apparatus conforming to the DVB-MHP standard can issue a large number of tuning requests during a tuning process. Thus, it is possible for a large number of tuning requests to be issued in a short period of time.
In the above-described environment, the problem associated with a long time being required for tuning processes becomes even more pronounced. The reason is that the number of tuning requests which an application can issue in a given period of time is far greater than the number of tuning requests which a human user can issue by using a remote control. Therefore, according to the above-described method where all tuning requests are met with corresponding tuning processes being performed, a huge amount of time may be required to complete all tuning processes in the case where a large number of applications (i.e., more than those which can be issued by a human user) are issued from an application during a tuning process.
Moreover, since a long period of time will be spent before all tuning processes can be completed, it is possible for even more tuning requests to be issued while the currently issued tuning requests are being processed. As a result, the large number of tuning requests being issued in a short period time may eventually result in a growing heap of more and more tuning requests to be processed. Under the conventional method where all tuning processes must be performed, it is necessary to store the tuning requests issued during a tuning process until corresponding tuning processes are performed. Therefore, in the case where an application issues a large number of tuning requests in a short period of time, the conventional method will require the presence of a memory, of an indefinite size, for storing the tuning requests. If such a memory is not provided, it is possible for the processes not to be properly performed due to insufficient memory resources.
In the above-described method where any tuning requests issued during a tuning process are not accepted, no tuning processes are performed for tuning requests which are issued during a tuning process. Therefore, according to this method, even necessary tuning processes may not be performed. For example, a plurality of tuning requests may be issued from a plurality of applications during a tuning process. In such a case, none of the necessary tuning processes for the tuning requests issued from the plurality of applications is performed according to the above-described method where any tuning requests issued during a tuning process are not accepted. Thus, this method is considered to be insufficient as a measure for reducing the amount of time required for tuning processes.
On the other hand, the method described earlier is only directed to human operations. This technique aims to reduce the number of tuning requests emanating from a remote control at the tuning requesting end. Therefore, while this technique is applicable to the case where a human user makes consecutive tuning requests by operating a remote control or a front panel of a television, it cannot be used for the case where an application(s) makes consecutive tuning requests.
Therefore, an object of the present invention is to provide a broadcast receiving apparatus which can perform a tuning process in a short period of time even in the case where a large number of tuning requests are issued.
The present invention has the following features to attain the above object.
A first aspect of the present invention is directed to a broadcast receiving apparatus for receiving a broadcast signal, comprising: a tuning request reception section for receiving an issued tuning request; a tuning request storage section for storing the tuning request received by the tuning request reception section; a tuning process section for performing a tuning process for the broadcast signal corresponding to the tuning request, wherein, if at least one tuning request is issued during the tuning process, the tuning process section performs a next tuning process corresponding to one of the at least one tuning request stored in the tuning request storage section during the tuning process; and a tuning request erasure section for erasing, at a predetermined point in time, the at least one tuning request stored in the tuning request storage section during the tuning process.
According to the first aspect, one of a number of tuning requests which are made during a single tuning process is processed. In other words, the broadcast receiving apparatus does not perform a tuning process for every one of a plurality of tuning requests issued during a tuning process. Thus, even if a large number of tuning requests are issued, it is possible to perform the tuning process in a short period of time. Moreover, since the tuning requests stored in the tuning request storage section are sequentially erased by the tuning request erasure section, it is not necessary to prepare a memory of an indefinite size. Furthermore, according to the first aspect, since a tuning process is performed for the one tuning request among all that have been issued, the necessary tuning processes are prevented from being ignored.
In a second aspect based on the first aspect, the tuning request erasure section erases the at least one tuning request stored in the tuning request storage section at the beginning of the tuning process.
According to the second aspect, at least one of the tuning requests already issued is erased every time a tuning process is begun. As a result, the broadcast receiving apparatus only needs to store a number of tuning requests which can possibly be issued during a period of time required for a single tuning process. Therefore, according to the second aspect, the amount of memory required for storing tuning requests can be reduced.
In a third aspect based on the first aspect, the tuning request storage section is capable of storing a predetermined number of tuning requests, and if the predetermined number is exceeded as a result of a new tuning request issued during the tuning process, the new tuning request replaces one of the tuning requests already stored.
According to the third aspect, it is possible to reduce the amount of memory provided for storing tuning requests down to the predetermined number.
In a fourth aspect based on the first aspect, if the tuning process fails, the tuning process section performs a further tuning process corresponding to one of the tuning requests stored in the tuning request storage section during a previous tuning process, and the tuning request erasure section erases the at least one tuning request stored in the tuning request storage section during the previous tuning process after the further tuning is completed.
According to the fourth aspect, even if a tuning process fails, a tuning process is performed again. As used herein, xe2x80x9ccompletionxe2x80x9d of a tuning process only refers to a successful completion of a tuning process, and not an unsuccessful completion of a tuning process.
In a fifth aspect based on the fourth aspect, the tuning request storage section is capable of storing a predetermined number of tuning requests, and if the predetermined number is exceeded as a result of a new tuning request issued during the tuning process, the new tuning request replaces one of the tuning requests already stored.
According to the fifth aspect, as in the fourth aspect, even if a tuning process fails, it is possible to again perform a tuning process. In this case, a tuning request stored in the tuning request storage section is erased by the tuning request erasure section only after completion of the tuning process. Although the fifth aspect therefore requires a greater amount of memory than the second aspect, the fifth aspect makes it possible to reduce the amount of memory provided for storing tuning requests down to the predetermined number.
In a sixth aspect based on the first aspect, if at least one tuning request is issued during the tuning process, the tuning process section performs a next tuning process corresponding to a most recent tuning request among the at least one tuning request stored in the tuning request storage section.
According to the sixth aspect, a tuning process is performed based on the most recent tuning request, i.e., the last-issued tuning request.
In a seventh aspect based on the sixth aspect, the tuning request storage section is capable of storing one tuning request, and if a new tuning request is received by the tuning request reception section, the new tuning request replaces one of the tuning requests already stored.
According to the seventh aspect, only the most recent tuning request is stored in the tuning request storage section. Therefore, the amount of memory provided for storing tuning requests can be minimized.
In an eighth aspect based on the first aspect, the tuning requests are issued by a software application.
A ninth aspect of the present invention is directed to a method for use in a broadcast receiving apparatus for receiving a broadcast signal, comprising: a tuning request reception step of receiving an issued tuning request; a tuning request storage step of storing the tuning request received in the tuning request reception step; a tuning process step of performing a tuning process for the broadcast signal corresponding to the tuning request, wherein, if at least one tuning request is issued during the tuning process, a next tuning process is performed corresponding to one of the at least one tuning request stored in the tuning request storage step during the tuning process; and a tuning request erasure step of erasing, at a predetermined point in time, the at least one tuning request stored during the tuning process.
In a tenth aspect based on the ninth aspect, at the beginning of the tuning process, the tuning request erasure step erases the at least one tuning request stored in a previous tuning process.
In an eleventh aspect based on the ninth aspect, if a predetermined number is exceeded as a result of a new tuning request issued during the tuning process, the new tuning request replaces one of the tuning requests already stored.
In a twelfth aspect based on the ninth aspect, if the tuning process fails, the tuning process step performs a further tuning process corresponding to one of the tuning requests stored during a previous tuning process, and the tuning request erasure step erases the at least one tuning request stored during the previous tuning process after the further tuning is completed.
In a thirteenth aspect based on the twelfth aspect, if a predetermined number is exceeded as a result of a new tuning request issued during the tuning process, the new tuning request replaces one of the tuning requests already stored.
In a fourteenth aspect based on the ninth aspect, if at least one tuning request is issued during the tuning process, the tuning process step performs a next tuning process corresponding to a most recent tuning request among the at least one tuning request stored in the tuning request storage step.
In a fifteenth aspect based on the fourteenth aspect, the tuning request storage step each stores one tuning request, and if a new tuning request is received by the tuning request reception step, the new tuning request replaces one of the tuning requests already stored.
In a sixteenth aspect based on the ninth aspect, the tuning requests are issued by a software application.
A seventeenth aspect of the present invention is directed to a program for causing a computer comprised in a broadcast receiving apparatus for receiving a broadcast signal to execute: a tuning request reception step of receiving an issued tuning request; a tuning request storage step of storing the tuning request received in the tuning request reception step; a tuning process step of performing a tuning process for the broadcast signal corresponding to the tuning request, wherein, if at least one tuning request is issued during the tuning process, a next tuning process is performed corresponding to one of the at least one tuning request stored in the tuning request storage step during the tuning process; and a tuning request erasure step of erasing, at a predetermined point in time, the at least one tuning request stored during the tuning process.
These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.